#include<iostream>
#include <sys/time.h>
#include <sys/resource.h>
#include<unistd.h>
#include<string>
using namespace std;
// int main()
// {
//   string path = "./tmp.txt" ; 
//   unlink(path.c_str()); 
//   return 0;
// }
//int main()
//{
//    struct rlimit r;
//    r.rlim_cur = 1024*1024*20;  //限制最多使用20M空间
//    r.rlim_max = RLIM_INFINITY;//对硬件资源没有限制
//    setrlimit(RLIMIT_AS,&r);
//    int count = 0;
//    while(1)
//    {
//        int* p = new int[1024*1024];
//        count ++;
//        std::cout << count<<std::endl;
//    }
//    return 0;
//}

#include <iostream>
#include <string>
#include <ctemplate/template.h>

int main()
{
    std::string in_html = "./test.html";
    std::string value = "Mango_C++";

    // 形成数据字典,名字为root
    ctemplate::TemplateDictionary root("test"); //可以理解成:unordered_map<> test;
    root.SetValue("key", value);                //可以理解成:test.insert({}); 

    // 获取被渲染网页对象       第一个参数:要获取的网页内容     第二个参数:是一个选项   DO_NOT_STRIP:保持原貌(不去除空格等)
    ctemplate::Template *tpl = ctemplate::Template::GetTemplate(in_html, ctemplate::DO_NOT_STRIP);

    // 添加字典数据到网页中
    std::string out_html;//形成新的网页
    tpl->Expand(&out_html, &root);//把root的内容填充到tql,形成新的网页out_html

    //完成了渲染
    std::cout << out_html << std::endl;
}
